package com.tx.admin.noveldict.service;

import com.mybatisflex.core.service.IService;
import com.tx.admin.noveldict.pojo.po.NovelDict;
import com.tx.core.common.entity.SelectIdsDTO;
import com.tx.core.common.entity.PageResult;
import java.util.List;
import com.tx.admin.noveldict.pojo.dto.NovelDictCreateDTO;
import com.tx.admin.noveldict.pojo.dto.NovelDictUpdateDTO;
import com.tx.admin.noveldict.pojo.dto.NovelDictListDTO;
import com.tx.admin.noveldict.pojo.vo.NovelDictVO;
import com.tx.core.common.entity.ImportExcelDTO;
import jakarta.servlet.http.HttpServletResponse;

/**
 * <p>
 * 字典 Service
 * </p>
 *
 * @author sz-admin
 * @since 2025-05-06
 */
public interface NovelDictService extends IService<NovelDict> {

    void create(NovelDictCreateDTO dto);

    void update(NovelDictUpdateDTO dto);

    PageResult<NovelDictVO> page(NovelDictListDTO dto);

    List<NovelDictVO> list(NovelDictListDTO dto);

    void remove(SelectIdsDTO dto);

    NovelDictVO detail(Object id);

    void importExcel(ImportExcelDTO dto);

    void exportExcel(NovelDictListDTO dto, HttpServletResponse response);

    void saveAll(NovelDictListDTO dtos);

    List<NovelDictVO> getDetailOption();
}